# 内置函数-类型转换

# bytearray：根据传入的参数创建一个新的可变字节数组
# 字符串和bytes是不可变的数据类型，就是无法修改的，更改的，赋值就相当于指向一个新的内存地址，原来的数据还存在
# 场景:假如一个字符串很大，要是更改的话就相当于占两倍的内存空间，比较low
# 解决方法：就用到bytearray函数, bytearray为可变的字节序列，可以称为字节数组
b1 = bytearray("houzheng".encode())
b2 = "houzheng".encode()
b3 = bytearray(b'yaozhen')   # 传入bytes字节序列
b1[0] = 97
# b2[0]= 97  会报错,bytes不可变
print(b1.decode())  # aouzheng 成功改变
print(b3[0])  # 121

# bytes：根据传入的参数创建一个新的不可变字节数组
b4 = bytes("侯征","utf-8")  # 必须制定编码格式
print(b4[0])

# memoryview：根据传入的参数创建一个新的内存查看对象
# 内存查看对象:  在内存查看对象中进行切片等操作不会产生新的数据并拷贝
v = memoryview(b'abcefg')  # 只支持bytes和bytearray
print(v[0])
